package com.inet.app.framework.util;

import android.util.Log;

import com.inet.app.framework.Config;

public final class SmartLog {
	private static String DEFAULT_TAG = "framework_android";

	/**
	 * Show debug on console
	 * 
	 * @param tag
	 * @param msg
	 */
	public static void d(String tag, String msg) {
		if (Config.DEBUG_MODE && tag != null && msg != null) {
			Log.d(tag, msg);
		}
	}

	/**
	 * Show debug on console
	 * 
	 * @param msg
	 */
	public static void d(String msg) {
		d(DEFAULT_TAG, msg);
	}

	/**
	 * Show debug on console
	 * 
	 * @param tag
	 * @param msg
	 */
	public static void log(String tag, String msg) {
		d(tag, msg);
	}

	/**
	 * Show debug on console
	 * 
	 * @param msg
	 */
	public static void log(String msg) {
		d(DEFAULT_TAG, msg);
	}

	/**
	 * Show error debug on console
	 * 
	 * @param tag
	 * @param msg
	 */
	public static void e(String tag, String msg) {
		if (Config.DEBUG_MODE && tag != null && msg != null) {
			Log.e(tag, msg);
		}
	}

	/**
	 * Show error debug on console
	 * 
	 * @param msg
	 */
	public static void e(String msg) {
		if (Config.DEBUG_MODE && msg != null) {
			e(DEFAULT_TAG, msg);
		}
	}

	/**
	 * Show error debug on console
	 * 
	 * @param ex
	 */
	public static void e(String tag, Exception ex) {
		if (Config.DEBUG_MODE && tag != null && ex != null
				&& ex.getMessage() != null) {
			Log.e(tag, ex.getMessage());
		}
	}

	/**
	 * Show error debug on console
	 * 
	 * @param e
	 */
	public static void e(Exception ex) {
		e(DEFAULT_TAG, ex);
	}

	/**
	 * Show information debug on console
	 * 
	 * @param tag
	 * @param msg
	 */
	public static void i(String tag, String msg) {
		if (Config.DEBUG_MODE && tag != null && msg != null) {
			Log.i(tag, msg);
		}
	}

	/**
	 * Show information debug on console
	 * 
	 * @param msg
	 */
	public static void i(String msg) {
		i(DEFAULT_TAG, msg);
	}

	/**
	 * Show exception on console
	 * 
	 * @param ex
	 */
	public static void logError(String tag, Exception ex) {
		if (Config.DEBUG_MODE && tag != null && ex != null
				&& ex.getMessage() != null) {
			Log.e(tag, ex.getMessage());
		}
	}
}